LinkedIn Company Employees Scraper — B2B Prospect List Builder
Pricing
Pay per event
LinkedIn Company Employees Scraper — B2B Prospect List Builder
Extract LinkedIn employee profiles from company pages — names, titles, locations, profile URLs, and company context. Build account-based B2B prospect lists, then enrich domains and verify emails with Website Contact Finder and Bulk Email MX/SMTP Verifier.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
1K
Total users
376
Monthly active users
5 hours ago
Last modified
Categories
Share
Extract employee profiles from any LinkedIn company page — name, job title, headline, location, and profile URL. Works without a LinkedIn account via Google SERP discovery, or with your li_at session cookie for a complete paginated employee list.
Webinar prospecting workflow: identify event and webinar owners
Use this actor after LinkedIn Ad Library Scraper finds companies actively advertising webinars, demos, virtual events, or roundtables. The job is not just to collect generic employees — it is to find the people likely responsible for those webinar campaigns.
- Discover webinar-running accounts with LinkedIn Ad Library Scraper. Search terms such as
webinar,on-demand webinar,live demo,fireside chat,virtual event, andvirtual roundtable; then deduplicate by advertiser/company URL. - Run those company URLs or slugs here and collect names, headlines, profile URLs, locations, company names, and source fields.
- Filter for likely owners using title/headline keywords:
Field Marketing,Events,Webinar,Demand Generation,Growth Marketing,Marketing Programs,Integrated Marketing,VP Marketing, andHead of Marketing. - Prioritize accounts by matching the ad copy/CTA from the ad-library step to the employee title. For example, a company advertising a "live demo" may map to demand generation, while a "virtual summit" may map to field or event marketing.
- Enrich, verify, and export through LinkedIn Company Scraper, Website Contact Finder, email verification actors, CSV, Google Sheets, Airtable, HubSpot, Salesforce, Make, Zapier, or n8n.
Apify's Sponja case study used this pattern to move from 897 webinar-advertising companies to 1,264 event-marketing prospects across 36 priority accounts, then narrowed them to 244 likely webinar owners, all for under $20 in actor spend. Results vary by market, keywords, company size, and whether you use cookie-free or authenticated mode.
Use only public/business contact data, sanity-check company-name matches, and comply with LinkedIn's terms, privacy law, CAN-SPAM/GDPR, and your outreach platform's rules.
Recruiter workflow: discover candidates from target companies
Use this actor to build a LinkedIn talent-sourcing workflow when you already know the companies you want to source from. Instead of promising arbitrary LinkedIn people search or hidden contact extraction, the workflow starts from public company pages and profile URLs, then enriches, scores, deduplicates, and exports candidates for recruiter review.
- Discover profiles at target companies with LinkedIn Company Employees Scraper. Input company URLs or slugs such as
stripe,openai, orhttps://www.linkedin.com/company/netflix/, then collect names, headlines, locations, profile URLs, and company context. - Enrich selected profile URLs with LinkedIn Profile Scraper to add public profile details such as about text, current positions, education, follower counts, websites, and canonical LinkedIn URLs.
- Add role context with LinkedIn Jobs Scraper. Scrape matching roles by keyword, location, seniority, or workplace type to understand which skills and job titles are active in the market.
- Score and dedupe candidates in Airtable, Google Sheets, n8n, Zapier, Make, or your ATS. Use
profileUrl/linkedinUrlas the dedupe key, then score by headline keywords, location, current company, seniority, and job-market signals. - Schedule alerts with Apify schedules and webhooks so new employee lists or matching job runs trigger a Slack, email, Airtable, or ATS update.
This workflow is best for recruiter sourcing, talent mapping, competitor team research, and account-based prospect discovery. It returns public profile and company signals; it does not extract private emails, phone numbers, or LinkedIn search results outside the supported actor inputs. Use the data responsibly and follow LinkedIn's terms, privacy law, and your outreach platform's rules.
Next step: find and verify emails
This actor builds account-based B2B prospect lists from LinkedIn employee profile data. It returns names, titles, locations, profile URLs, and company context; it does not claim to extract email addresses.
After scraping prospects, use LinkedIn Company Scraper or your CRM to get company domains, enrich those domains with Website Contact Finder, then clean discovered emails with Bulk Email MX Verifier and Bulk SMTP Email Verifier before outreach.
Build a cold-outreach lead workflow on Apify
Use this actor as one step in a scrape → enrich → verify → export workflow:
- Source B2B accounts or contacts with LinkedIn Company Employees Scraper, LinkedIn Company Scraper, Clutch.co Scraper, Yellow Pages Scraper, YellowPages Canada Business Scraper, or Substack Scraper.
- Find public contact signals with Website Contact Finder or Social Media Profile Finder when you have company domains/websites.
- Clean the list before outreach with Bulk Email MX Verifier for fast syntax/MX/disposable/role-risk screening, then Bulk SMTP Email Verifier when you need deeper mailbox and catch-all checks.
- Export to your outreach stack as CSV/Excel/JSON for Instantly, HubSpot, Salesforce, Pipedrive, Airtable, Make, Zapier, or n8n.
Use only public/business contact data and comply with CAN-SPAM, GDPR, and your outreach platform's rules. Prefer company emails over personal addresses, filter role-based/risky emails when needed, and do not send to invalid or unverified addresses.
🔍 What does it do?
LinkedIn Company Employees Scraper finds people who work (or have worked) at any LinkedIn company. It supports two modes:
- 🔐 Authenticated mode (li_at cookie): Accesses LinkedIn's Voyager API with your session cookie to return a complete, paginated list of current employees — hundreds or thousands of people, fully paginated.
- 🌐 Cookie-free mode (no login required): Uses Google SERP discovery to find LinkedIn profiles matching the company, typically returning 50–100 employees per company without any login.
Give it a list of company URLs or slugs — https://www.linkedin.com/company/google/ or just google — and get back a structured dataset of employee profiles ready for CRM import, sales outreach, or competitive research.
👤 Who is it for?
Sales Development Representatives
Build targeted prospect lists from any competitor or partner company without manual LinkedIn browsing. Scrape 50+ contacts in the time it takes to find ten manually.
Recruiters and Talent Sourcers
Identify candidates at target companies. Input the company, set a reasonable limit, and get a shortlist of profiles to review — without LinkedIn Recruiter licenses.
Market Researchers and Analysts
Profile the workforce of companies you're analyzing. Understand headcount by role, identify key decision-makers, and track leadership changes over time.
Competitive Intelligence Teams
Monitor the teams behind competitors — who's hiring, who's leaving, which departments are growing. Track leadership changes by running the scraper periodically.
Lead Generation Agencies
Build account-based marketing contact lists at scale. Run multiple companies in a single job and export to CSV, Google Sheets, or your CRM.
💡 Why use this scraper?
- ✅ No LinkedIn account required — cookie-free mode uses public data via Google
- ✅ Complete employee lists with your cookie — hundreds of results via LinkedIn Voyager API
- ✅ Works on any company — Fortune 500, startups, agencies, non-profits
- ✅ Clean structured output — name, title, LinkedIn URL, location ready for CRM import
- ✅ Batch mode — scrape multiple companies in one run
- ✅ Residential proxy included — handles LinkedIn's aggressive anti-bot without extra setup
- ✅ Pay only per result — PPE pricing means you're charged per employee extracted, not per run
📊 Output data
Each extracted employee record contains:
| Field | Type | Description |
|---|---|---|
name | string | Employee full name |
headline | string | LinkedIn headline (title and company) |
location | string | Geographic region |
profileUrl | string | Full LinkedIn profile URL |
companyUrl | string | Source company page URL |
companyName | string | Company display name |
companySlug | string | LinkedIn company slug |
source | string | voyager (cookie) or serp (Google discovery) |
scrapedAt | string | ISO timestamp |
💰 How much does it cost to scrape LinkedIn company employees?
This actor uses pay-per-event (PPE) pricing — you pay per employee profile extracted, not per run. There is a small start fee per run.
| Plan | Start fee | Per employee |
|---|---|---|
| Free | $0.005 | $0.005 |
| Bronze | $0.005 | $0.005 |
| Silver | $0.005 | ~$0.004 |
| Gold | $0.005 | ~$0.003 |
| Platinum | $0.005 | ~$0.002 |
| Diamond | $0.005 | ~$0.0014 |
Estimate your costs:
- 50 employees (1 company): ~$0.255
- 200 employees (4 companies): ~$1.005
- 1,000 employees: ~$5.005
The free plan includes $5 of free usage each month. A scrape of 50 employees costs about $0.25, so you can run roughly 20 such jobs on the free tier before paying.
🚀 How to scrape LinkedIn company employees
Quick start (no cookie needed)
- Open the actor at apify.com/automation-lab/linkedin-company-employees-scraper
- In Company URLs or Slugs, enter any company URL or slug:
- Full URL:
https://www.linkedin.com/company/google/ - Slug only:
google
- Full URL:
- Set Max Employees per Company (default 50, max 500)
- Click Start — results appear in seconds
With li_at cookie for complete lists
- Log into LinkedIn in your browser
- Open DevTools (F12 or Cmd+Opt+I on Mac)
- Go to Application → Cookies →
https://www.linkedin.com - Copy the value of
li_at - Paste it into the li_at Cookie field
- Run — now gets fully paginated results including all current employees
Via API
curl -X POST https://api.apify.com/v2/acts/automation-lab~linkedin-company-employees-scraper/runs \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"companyUrls": ["https://www.linkedin.com/company/stripe/"],"maxEmployees": 100}'
⚙️ Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
companyUrls | array | required | LinkedIn company page URLs or slugs |
maxEmployees | integer | 50 | Max profiles to extract per company (1–500) |
liAtCookie | string | optional | Your LinkedIn li_at session cookie for authenticated access |
Tips for companyUrls:
- Both formats work:
https://www.linkedin.com/company/netflix/ornetflix - Add multiple companies to scrape them all in a single run
- Company slug is the part after
/company/in the URL
📤 Output example
{"profileUrl": "https://www.linkedin.com/in/jeffreyliu","name": "Jeffrey Liu","headline": "Engineering Manager at Stripe","location": "San Francisco Bay Area","companyUrl": "https://www.linkedin.com/company/stripe/","companySlug": "stripe","companyName": "Stripe","source": "voyager","scrapedAt": "2026-05-01T10:00:00.000Z"}
🔐 Two scraping modes explained
Cookie-free mode (default)
When no li_at cookie is provided, the scraper uses Google SERP discovery:
- Fetches the company's LinkedIn page to identify the company name
- Searches Google for
site:linkedin.com/in "company-name"to discover employee profiles - Parses names and headlines from Google result titles
- Returns 50–100 employees per company
Pros: No LinkedIn account needed, no risk of account action, works on any plan.
Cons: Limited to ~100 results per company, includes current and former employees, no location data.
Authenticated mode (with li_at cookie)
When a valid li_at cookie is provided, the scraper uses LinkedIn's Voyager API:
- Fetches the company page with your session to get the internal company ID
- Calls LinkedIn's internal people search API, filtered to current employees
- Paginates through all results
Pros: Gets all current employees (hundreds or thousands), includes location, high accuracy.
Cons: Requires your LinkedIn session cookie, rate limits apply, use responsibly.
💡 Tips and best practices
- Start with a small limit — set
maxEmployees: 20for your first run to verify the company slug and check result quality before running at full scale - Use your li_at cookie for accurate results — Google SERP results include former employees; Voyager API returns only current employees
- Your cookie expires periodically — if you get "authentication failed" errors, re-copy your
li_atfrom your browser - Multiple companies in one run — scraping 10 companies with
maxEmployees: 50each is more cost-efficient than 10 separate runs (only one start fee) - Export to CSV — use Apify's built-in export to download results as CSV for CRM import
- Company slug vs URL — both work; the slug is just the readable identifier in the URL path
🔗 Integrations
CRM enrichment (Salesforce, HubSpot)
Scrape target account employees → export CSV → import to CRM. Map name to Contact Name, headline to Job Title, profileUrl to LinkedIn URL. Run weekly to catch new hires.
Google Sheets via Zapier
Connect with Zapier: trigger on "Apify run finished" → action "Add row to Google Sheet" → map fields. Result: every run automatically populates a shared prospecting sheet.
Webhook to Slack
Set an Apify webhook on run completion to POST results to a Slack channel. Your sales team gets notified the moment a new employee list is ready.
Scheduled competitive monitoring
Use Apify's scheduled runs to scrape your top 5 competitors monthly. Export to BigQuery or Snowflake to track workforce trends over time.
Clay / Apollo enrichment pipeline
Export profileUrl as a column → import into Clay or Apollo for email finding and enrichment. Combine with the LinkedIn Profile Scraper for full work history.
🛠️ API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/linkedin-company-employees-scraper').call({companyUrls: ['https://www.linkedin.com/company/anthropic/'],maxEmployees: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/linkedin-company-employees-scraper').call(run_input={'companyUrls': ['https://www.linkedin.com/company/anthropic/'],'maxEmployees': 100,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['name'], item['headline'])
cURL
# Start a runcurl -X POST "https://api.apify.com/v2/acts/automation-lab~linkedin-company-employees-scraper/runs" \-H "Authorization: Bearer YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"companyUrls":["https://www.linkedin.com/company/openai/"],"maxEmployees":50}'# Get results (replace with your dataset ID from the run response)curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json" \-H "Authorization: Bearer YOUR_TOKEN"
🤖 Use with AI (MCP / Claude)
This actor is available as an MCP tool for use with Claude and other AI assistants.
Claude Code (terminal)
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/linkedin-company-employees-scraper"
Claude Desktop / Cursor / VS Code
Add to your MCP config file (~/.claude/claude_desktop_config.json or equivalent):
{"mcpServers": {"apify": {"type": "http","url": "https://mcp.apify.com?tools=automation-lab/linkedin-company-employees-scraper","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}}}}
Example prompts
Once connected, ask Claude:
- "Find me 50 employees at Stripe and save them to a CSV"
- "Scrape the employees of stripe and anthropic, give me a table with name and headline"
- "Who works at OpenAI? Scrape their employees and filter for engineering roles"
- "Get the LinkedIn profiles of Notion employees for sales outreach"
⚖️ Legality and terms of service
This actor scrapes publicly available LinkedIn data in cookie-free mode, using data that Google indexes from LinkedIn's public pages. In authenticated mode, it uses your own session to access data you have personal access to.
Cookie-free mode: Data returned is the same data visible to anyone searching Google. LinkedIn profiles indexed by Google are public by default (users control this via privacy settings).
Authenticated mode: You use your own account credentials. You are responsible for complying with LinkedIn's Terms of Service regarding automated access.
Scraping publicly available data is generally considered lawful in most jurisdictions following the hiQ Labs v. LinkedIn (9th Circuit) ruling. This actor does not bypass authentication barriers or scrape private data.
Use this data responsibly. Do not use scraped employee data for spam, unsolicited mass messaging, or harassment. Always comply with applicable data protection laws (GDPR, CCPA) when storing and processing personal data.
❓ FAQ
Do I need a LinkedIn account?
No. The cookie-free mode works without any LinkedIn account using public search data from Google. For complete paginated employee lists, provide your li_at session cookie.
How many employees can I scrape?
- Without cookie: ~100 per company (limited by Google SERP results)
- With li_at cookie: Up to
maxEmployees(max 500 per run, no Google limit)
Why does Google SERP mode return fewer results than the company headcount?
Google's search index only surfaces a subset of LinkedIn profiles — typically the most active/visited ones. For a company with 10,000 employees, you'll get 50–100 via SERP. For complete lists, use authenticated mode.
The actor returns 0 results — what should I check?
- Verify the company slug is correct — check the URL at
linkedin.com/company/SLUG - If using cookie mode, your
li_atmay have expired — log in to LinkedIn and copy a fresh cookie - Some small companies have very few public profiles on Google — try increasing
maxEmployeesor switching to cookie mode - If SERP mode returns "Google search failed", the proxy may be rate-limited — wait a few minutes and retry
Can I scrape employees of multiple companies in one run?
Yes. Add multiple URLs or slugs to the companyUrls list. All companies are scraped in the same run.
Is the li_at cookie safe to share with this actor?
Your li_at cookie is treated as a secret and never logged. However, your cookie gives access to your LinkedIn account — only use it on Apify's platform and rotate it if you have concerns. Apify runs in an isolated environment and your data is not stored beyond the run.
How fresh is the data?
Authenticated mode returns real-time data from LinkedIn's Voyager API. SERP mode returns data as indexed by Google, which may lag by days to weeks for newer profiles.
🔗 Related scrapers
- LinkedIn Profile Scraper — Scrape full profile data (education, experience, skills, follower count) from LinkedIn profile pages
- LinkedIn Company Scraper — Extract company metadata: description, headcount, industries, website, specialties
- LinkedIn Jobs Scraper — Scrape job listings with filters for location, keyword, experience level
- LinkedIn Company Posts Scraper — Scrape posts from company pages including likes, comments, and content